package com.arsn.myf.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 接口日志对象
 *
 * @author zhongrj
 * @date 2022-12-12 20:18:49
 */
@Data
@TableName("sys_log_api")
@ApiModel(value = "LogApi对象", description = "LogApi对象")
public class ApiLog implements Serializable{

    private static final long serialVersionUID = 1L;

    /**
    * 主键id
    */
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主键id")
    private Long id;

    /**
    * 方法说明
    */
    @ApiModelProperty(value = "方法说明")
    private String title;

    /**
    * 服务器名
    */
    @ApiModelProperty(value = "服务器名")
    private String serverHost;

    /**
    * 服务器IP地址
    */
    @ApiModelProperty(value = "服务器IP地址")
    private String serverIp;

    /**
    * 系统环境
    */
    @ApiModelProperty(value = "系统环境")
    private String env;

    /**
    * 操作方式
    */
    @ApiModelProperty(value = "操作方式")
    private String method;

    /**
    * 请求URI
    */
    @ApiModelProperty(value = "请求URI")
    private String requestUri;

    /**
    * 请求参数
    */
    @ApiModelProperty(value = "请求参数")
    private String requestParam;

    /**
    * 响应数据
    */
    @ApiModelProperty(value = "响应数据")
    private String jsonResult;

    /**
    * 操作IP地址
    */
    @ApiModelProperty(value = "操作IP地址")
    private String remoteIp;

    /**
    * 方法类
    */
    @ApiModelProperty(value = "方法类")
    private String methodClass;

    /**
    * 方法名
    */
    @ApiModelProperty(value = "方法名")
    private String methodName;

    /**
    * 操作状态（0正常 1异常）
    */
    @ApiModelProperty(value = "操作状态（0正常 1异常）")
    private Integer status;

    /**
    * 操作人
    */
    @ApiModelProperty(value = "操作人")
    private String createBy;

    /**
    * 创建时间
    */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

}
